package com.fjwt.gz.db.vo;

import java.util.Date;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * <p>
 * 积分兑换表(积分商城表/权益商城表)
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
@Data
public class ScoreExchangeVO {

    /**
     * 主键
     */
    private Long scoreExchangeId;

    /**
     * 应用appid
     */
    private String appId;

    /**
     * 应用appName
     */
    private String appName;

    /**
     * 所需的积分
     */
    private Integer scoreNeed;

    /**
     * 奖品id
     */
    private Long awardId;

    /**
     * 奖品类型  0卡券 1实物   2虚拟券 
     */
    private Integer awardType;

    /**
     * 机构ID
     */
    private String agentNo;

    /**
     * 一级机构号
     */
    private String agentNo1;

    /**
     * 二级机构号
     */
    private String agentNo2;

    /**
     * 三级机构号
     */
    private String agentNo3;

    /**
     * 四级机构号  如果机构号为空则写 0
     */
    private String agentNo4;

    /**
     * 出资方，为空时平台出资
     */
    private Integer payAuthId;

    /**
     * 0 草稿 1下架 2上架
     */
    private Integer isFlag;

    /**
     * 0: 福分商城  1：权益商城
     */
    private Integer type;

    /**
     * 权益栏目id 
t_agent_equity_month主键
(type为1时不可为空)
     */
    private Long equityMonthId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 创建者id
     */
    private Long createdUid;

    /**
     * 更新建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    /**
     * 周期性中奖次数限制(0不限制， 1限每日，2限每周，3限每月)
     */
    private Integer periodType;

    /**
     * 周期性限制中奖次数（period_type != 0时有效）
     */
    private Integer periodTimes;

    /**
     * 当前周期中奖次数限制类型
     */
    private Integer currentPeriodType;

    /**
     * 当前周期内中奖次数
     */
    private Integer currentPeriodTimes;

    /**
     * 活动期间每个用户可领取最大数量（0代表不限制）
     */
    private Integer everyoneMaxNum;

    /**
     * 同一用户周期性次数限制参与(0不限制， 1限每日，2限每周，3限每月)
     */
    private Integer everyonePeriodType;

    /**
     * 同一用户周期性限制次数（everyone_period_type != 0时有效）
     */
    private Integer everyonePeriodTimes;

    /**
     * 剩余还可兑换次数
     */
    private Integer residueTimes;

    private String price;

    private String name;

    private String imgUrl;

    private Integer getNum;

    private Integer syNum;

    private String agentName;

    private Integer num;

    private String remark;

    private String payAmount;

    /**
     * 虚拟卡券类型 0: 卡密  1：直充
     */
    private Integer goodsType;

    @JSONField(name = "sTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date sTime;

    @JSONField(name = "eTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date eTime;

    /**
     * 权益栏目id
     */
    private Long agentEquityId;

    /**
     * 是否开启黑名单： 0不开启 1开启（0默认不开启）
     */
    private Integer hasBlacklist;

    /**
     * 批次号
     */
    private String batchNo;

    /**
     * 黑名单规则ID
     */
    private Integer blacklistRuleId;

    /**
     * 支付通道
     */
    private String ifCode;


}
